package com.example.demo.service;

import com.example.demo.entity.Bookkeeping;
import java.util.List;

public interface BookkeepingService {
    // 添加记账记录
    Bookkeeping addRecord(Integer userId, Bookkeeping record);

    // 根据用户ID、年份和月份查询记账记录
    List<Bookkeeping> getRecordsByUserAndMonth(Integer userId, int year, int month);

    // 根据记账ID和用户ID查询单条记账详情 (确保记录属于该用户)
    Bookkeeping getRecordByIdAndUser(Integer recordId, Integer userId);

    // 更新记账记录
    Bookkeeping updateRecord(Integer recordId, Integer userId, Bookkeeping recordDetails);

    // 删除记账记录
    void deleteRecord(Integer recordId, Integer userId);

    /**
     * 根据用户ID查询该用户所有的记账记录。
     *
     * @param userId 用户ID
     * @return 该用户的所有记账记录列表
     */
    List<Bookkeeping> getAllRecordsByUserId(Integer userId); // <--- 新增方法定义
}
